package com.egoo.ticket.server.pojo.dto;

import com.alibaba.fastjson.JSONObject;
import com.egoo.ticket.server.pojo.entity.WorkOrder;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * 工单处理的输出信息
 * @author Administrator
 */
@Data
@ApiModel("工单处理的输出信息")
public class ProcessMessageOutputDto {

	/**
	 * /工单编号
	 */
	@ApiModelProperty("工单编号")
	private String id;
//	@ApiModelProperty("工单标题")
//	private String title;
	/**
	 * /标识（是否可以修改原始表单）,0为不能修改，1为可以修改
	 */
	@ApiModelProperty("标识（是否可以修改原始表单）,0为不能修改，1为可以修改")
	private Integer alterFormTag;
	@ApiModelProperty("工单状态id")
	private Integer statusId;
	@ApiModelProperty("创建人id")
	private String createUserId;
	/**
	 * /工单类型id
	 */
	@ApiModelProperty("工单类型id")
	private Long workOrderTypeId;
	/**
	 * /工单类型名字
	 */
	@ApiModelProperty("工单类型名称")
	private String workOrderTypeName;
//	/**
//	 * /优先级
//	 */
//	@ApiModelProperty("优先级")
//	private String priority;
//	@ApiModelProperty("客户名称")
//	private String clientName;
//	/**
//	 * /来源
//	 */
//	@ApiModelProperty("工单来源")
//	private String source;
//	@ApiModelProperty("问题描述")
//	private String problemDesc;
	/**
	 * /已处理的节点集合
	 */
	@ApiModelProperty("已处理的节点集合")
	private List<WorkOrderNodeDto> processedWorkOrderNodeDtoList;
	/**
	 * /初始表单节点
	 */
	@ApiModelProperty("初始节点")
	private WorkOrderNodeDto startNodeDto;
	/**
	 * /当前节点
	 */
	@ApiModelProperty("当前节点")
	private WorkOrderCreateNodeDto currentNodeDto;

//	/**
//	 * /来电号码
//	 */
//	@ApiModelProperty("电话")
//	private String phone;

	/**
	 * /创建人code
	 */
	@ApiModelProperty("创建人编码")
	private String createUserCode;
	/**
	 * / 调听录音id
	 */
	@ApiModelProperty("调听录音id")
	private String voiceKeyId;
	/**
	 * /状态名称
	 */
	@ApiModelProperty("状态名称")
	private String statusName;
	/**
	 * /当前节点
	 */
	@ApiModelProperty("当前节点名")
	private String currentWorkOrderNodeName;
	/**
	 * /当前处理人
	 */
	@ApiModelProperty("当前处理人名")
	private String currentHandlerName;
	/**
	 * /创建人
	 */
	@ApiModelProperty("创建人")
	private String createUserName;
	/**
	 * /创建时间
	 */
	@ApiModelProperty("创建时间")
	private String createTime;
	/**
	 * /关联工单id
	 */
	@ApiModelProperty("关联工单id")
	private String concatWorkOrderIdStr;
	/**
	 * 流转按钮显示标识（0不能处理,可催单 1是可正常流转处理 2工单已关闭，不能流转处理）
	 */
	@ApiModelProperty("流转按钮显示标识（0不能处理,可催单 1是可正常流转处理 2工单已关闭，不能流转处理）")
	private Integer contrOptionTag;

	/**
	 * /当前处理人id
	 */
	@ApiModelProperty("当前处理人id")
	private String currentHandlerId;
	/**
	 * /流程实例id
	 */
	@ApiModelProperty("流程实例id")
	private String processInstanceId;

	/**
	 * /外部流转信息
	 */
	@ApiModelProperty("外部流转信息")
	private JSONObject externalFlowInfo;

	/**
	 * /工单分配方式
	 */
	@ApiModelProperty("工单分配方式")
	private String distributionWay;

	/**
	 * /合并工单list
	 */
	@ApiModelProperty("合并工单list")
	private List<WorkOrder> combineWorkOrderInfo;
	/**
	 * /是否关注
	 */
	@ApiModelProperty("是否关注")
	private String isMonitor;
	/**
	 * /是否撤回,用于显示撤回按钮字段
	 */
	@ApiModelProperty("是否撤回,用于显示撤回按钮字段")
	private String iswithdraw;
	/**
	 * 工单退回按钮是否显示
	 */
	@ApiModelProperty("工单退回按钮是否显示")
	private Boolean isViewBackToLastStep;
	/**
	 * /工单定制字段数据
	 */
	@ApiModelProperty("工单定制字段数据")
	private JSONObject customField;
	/**
	 * 客户唯一标识
	 */
	@ApiModelProperty("客户唯一标识")
	private String customIdentify;
	/**
	 * /业务处理or跟进人姓名
	 */
	@ApiModelProperty("业务处理or跟进人姓名")
	private String businessHandlerName;
	/**
	 * 签到地址
	 */
	@ApiModelProperty("签到地址")
	private String signInAddress;
//	/**
////	 * 是否显示我来跟进按钮Y是  其他否
////	 */
////	@ApiModelProperty("是否显示我来跟进按钮Y是  其他否")
////	private String isViewFollowUpButton;
//	/**
//	 * 责任单位名称
//	 */
//	@ApiModelProperty("责任单位名称")
//	private String companyName;

	/**
	 * 多模板配置时，分类回显字段
	 */
	@ApiModelProperty("多模板配置时，分类回显字段")
	private String classifyValue;

	/**
	 * 子工单展示标识
	 */
	@ApiModelProperty("子工单展示标识")
	private String isShow;
	/**
	 * 工单关注人展示标识
	 */
	@ApiModelProperty("工单关注人展示")
	private String isMonitorShow;
	/**
	 * 工单关注人信息
	 */
	@ApiModelProperty("工单关注人信息")
	private String workOrderMonitor;
	/**
	 * 租户id
	 */
	@ApiModelProperty("租户id")
	private String tenantId;

	/**
	 * 工单抄送人展示标识
	 */
	@ApiModelProperty("工单抄送人展示标识")
	private String isSenderShow;
	/**
	 * 工单抄送人信息
	 */
	@ApiModelProperty("工单抄送人信息")
	private String workOrderSender;

	/**
	 * 多模板配置标识
	 */
	@ApiModelProperty("多模板配置标识")
	private String formKeySign;

	/**
	 * 驳回标识
	 */
	@ApiModelProperty("驳回标识")
	private String rejectedSign;
}
